package com.guigui.common.valid;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;

/**
 * @author ：xin
 * @date ：Created in 2021/7/27 21:35
 * @description：
 */
@Documented
//指定校验器  用什么来校验当前注解
@Constraint(validatedBy = {AppointNumberConstraintValidator.class})
//当前注解可用在那些 方法,构造函数等地方.
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER, ElementType.TYPE_USE})
//可在运行时获取到
@Retention(RetentionPolicy.RUNTIME)
public @interface AppointNumberValid {

    //自定义注解规定中，必须有的三个属性
    String message() default "{com.guigui.common.valid.AppointNumberValid.message}";//发生错误时 返回的文本
    Class<?>[] groups() default {};//指持分组校验
    Class<? extends Payload>[] payload() default {};//自定义负载信息

    //自定义方法,默认为空,在注解的时候可往此方法传值
    int[] vals() default {};

}
